--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
lang/README.zh.md v4.4.0-rc.1 (3e06f582) Text, 7.21 KB
Reticulum MeshChatX
Liam Cottle 开发的 Reticulum MeshChat 的一个功能丰富的深度修改分支。
本项目独立于原始 Reticulum MeshChat 项目,与其无关联。
• 变更日志: CHANGELOG.md
• TODO: TODO.md
重要说明
• 完整的 LXMF 支持是本项目的核心目标。
• 数据存储和迁移正逐步转向原生 SQL(替换旧的 Peewee ORM 路径)。
│ [!WARNING] MeshChatX 不保证与旧版 Reticulum MeshChat 的数据兼容。迁移或测试前请备份数据。
│ [!WARNING] 旧系统尚未完全支持。当前最低要求:Python T383838>=3.11,Node T383838>=24。
演示和截图
<video src="https://strg.0rbitzer0.net/raw/62926a2a-0a9a-4f44-a5f6-000dd60deac1.mp4" controls="controls" style="max-width: 100%;"></video>
界面预览
系统要求
• Python T383838>=3.11(来自 T383838pyproject.toml)
• Node.js T383838>=24(来自 T383838package.json)
• pnpm T38383810.32.1(来自 T383838package.json)
• Poetry(用于 T383838Taskfile.yml 和 CI 工作流)
安装方式
┌─────────────────────┬──────────┬──────────────────────────┬─────────────────────────────────────┐
│ 方式 │ 包含前端 │ 架构 │ 适用场景 │
├─────────────────────┼──────────┼──────────────────────────┼─────────────────────────────────────┤
│ Docker 镜像 │ 是 │ T383838linux/amd64, T383838linux/arm64 │ Linux 服务器快速部署 │
│ Python wheel (T383838.whl) │ 是 │ 任何 Python 支持的架构 │ 无需 Node 构建的无头/Web 服务器安装 │
│ Linux AppImage │ 是 │ T383838x64, T383838arm64 │ 便携式桌面使用 │
│ Debian 包 (T383838.deb) │ 是 │ T383838x64, T383838arm64 │ Debian/Ubuntu 安装 │
│ RPM 包 (T383838.rpm) │ 是 │ 取决于 CI │ Fedora/RHEL/openSUSE │
│ 从源码 │ 本地构建 │ 主机架构 │ 开发和自定义构建 │
└─────────────────────┴──────────┴──────────────────────────┴─────────────────────────────────────┘
说明:
• 发布工作流明确构建 Linux T383838x64 和 T383838arm64 AppImage + DEB。
• RPM 也会尝试构建,成功时上传。
快速开始: Docker
T282828
docker compose up -d
默认 compose 文件映射:
• 主机 T383838127.0.0.1:8000 -> 容器端口 T3838388000
• T383838./meshchat-config -> T383838/config 持久化存储
如遇权限问题:
T282828
sudo chown -R T79c0ff1000:1000 ./meshchat-config
从发行版安装
1) Linux AppImage (x64/arm64)
1. 从发行版下载 T383838ReticulumMeshChatX-v<版本>-linux-<架构>.AppImage。
2. 赋予执行权限并运行:
T282828
chmod +x ./ReticulumMeshChatX-v*-linux-*.AppImage
./ReticulumMeshChatX-v*-linux-*.AppImage
2) Debian/Ubuntu T383838.deb (x64/arm64)
1. 下载 T383838ReticulumMeshChatX-v<版本>-linux-<架构>.deb。
2. 安装:
T282828
sudo apt install ./ReticulumMeshChatX-v*-linux-*.deb
3) RPM 系统
1. 下载 T383838ReticulumMeshChatX-v<版本>-linux-<架构>.rpm(如发行版中存在)。
2. 安装:
T282828
sudo rpm -Uvh ./ReticulumMeshChatX-v*-linux-*.rpm
4) Python wheel (T383838.whl)
发行版 wheel 包含已构建的前端资源。
T282828
pip install ./reticulum_meshchatx-*-py3-none-any.whl
meshchat --headless
也支持 T383838pipx:
T282828
pipx install ./reticulum_meshchatx-*-py3-none-any.whl
从源码运行(Web 服务器模式)
T282828
git clone https://git.quad4.io/RNS-Things/MeshChatX.git
Tffa657cd MeshChatX
corepack Tffa657enable
pnpm install
pip install poetry
poetry install
pnpm run build-frontend
poetry run meshchat --headless --host T79c0ff127.0.0.1
在沙盒中运行(Linux)
若要在额外隔离文件系统的情况下运行原生 T383838meshchat 可执行文件,可使用 Firejail 或 Bubblewrap(T383838bwrap),同时保留 Reticulum 与 Web 界面所需的正常网络访问。完整示例(pip/pipx、Poetry、USB 串口说明)见:
应用内 文档(MeshChatX 文档)列表在提供已捆绑或已同步的 T383838meshchatx-docs 文件时也会显示同一页面。
从源码构建桌面包
Linux x64 AppImage + DEB
T282828
pnpm run dist:linux-x64
Linux arm64 AppImage + DEB
T282828
pnpm run dist:linux-arm64
RPM
T282828
pnpm run dist:rpm
架构支持
• Docker: T383838amd64, T383838arm64
• Linux AppImage: T383838x64, T383838arm64
• Linux DEB: T383838x64, T383838arm64
• Windows: T383838x64, T383838arm64(构建脚本可用)
• macOS: 构建脚本可用(T383838arm64, T383838universal)
• Android: 仓库中包含项目和 CI 工作流
Android
配置
┌───────────────┬──────────────────────┬───────────┬────────────────────┐
│ 参数 │ 环境变量 │ 默认值 │ 说明 │
├───────────────┼──────────────────────┼───────────┼────────────────────┤
│ T383838--host │ T383838MESHCHAT_HOST │ T383838127.0.0.1 │ Web 服务器绑定地址 │
│ T383838--port │ T383838MESHCHAT_PORT │ T3838388000 │ Web 服务器端口 │
│ T383838--no-https │ T383838MESHCHAT_NO_HTTPS │ T383838false │ 禁用 HTTPS │
│ T383838--headless │ T383838MESHCHAT_HEADLESS │ T383838false │ 不自动打开浏览器 │
│ T383838--auth │ T383838MESHCHAT_AUTH │ T383838false │ 启用基本认证 │
│ T383838--storage-dir │ T383838MESHCHAT_STORAGE_DIR │ T383838./storage │ 数据目录 │
│ T383838--public-dir │ T383838MESHCHAT_PUBLIC_DIR │ 自动 │ 前端文件目录 │
└───────────────┴──────────────────────┴───────────┴────────────────────┘
分支
┌────────┬──────────────────────────────────────────┐
│ 分支 │ 用途 │
├────────┼──────────────────────────────────────────┤
│ T383838master │ 稳定发布。仅限生产就绪代码。 │
│ T383838dev │ 活跃开发。可能包含不稳定或不完整的更改。 │
└────────┴──────────────────────────────────────────┘
开发
T282828
task install
task lint:all
task test:all
task build:all
安全
添加语言
语言发现是自动的。添加新语言只需一个 JSON 文件:
1. 从 T383838en.json 生成模板:
T282828
python scripts/generate_locale_template.py
2. 重命名并移动到语言目录:
T282828
mv locales.json meshchatx/src/frontend/locales/xx.json
3. 将文件顶部的 T383838_languageName 设置为该语言的母语名称 (例如 T383838"Espanol", T383838"Francais")。
4. 翻译所有其他值。
5. 验证键一致性: T383838pnpm test -- tests/frontend/i18n.test.js --run
无需其他代码更改。
致谢
• Liam Cottle - 原始 Reticulum MeshChat
• RFnexus - JavaScript Micron 解析器
• markqvist - Reticulum, LXMF, LXST
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────